At present a majority of standardized video coding algorithms are based on hybrid video coding. Hybrid video coding methods typically combine several different reversible and irreversible compression schemes in order to achieve the desired compression gain. Hybrid video coding is also the basis for ITU-T standards (H.26x standards such as H.261, H.263) as well as ISO/IEC standards (MPEG-X standards such as MPEG-1, MPEG-2, and MPEG-4). The most recent and advanced video coding standard is currently the standard denoted as H.264/MPEG-4 advanced video coding (AVC) which is a result of standardization efforts by joint video team (JVT), a joint team of ITU-T and ISO/IEC MPEG groups. A new standard is currently being developed by Joint Collaborative Team on Video Coding (JCT-VC) under a name High-Efficiency Video Coding (HEVC), aiming, in particular, at improvements of efficiency regarding the high-resolution video coding.
A video signal input to an image coding apparatus is a sequence of images including frames. Each frame includes pixels arranged in a two-dimensional matrix. All the above-mentioned standards based on hybrid video coding include subdividing each frame into blocks (units) consisting of a plurality of pixels. The size of the blocks may vary, for instance, in accordance with the content of the image. The way of coding may be typically varied on a per block basis. The largest possible size for such a block varies depending on the standard. For instance in HEVC, the largest possible size is 64×64 pixels. In H.264/MPEG-4 AVC, a macroblock (usually denoting a block of 16×16 pixels) was the basic unit by which the coding is performed. Furthermore, the macroblock may be divided into smaller subblocks to which some of the coding/decoding processing were applied. In HEVC, the macroblock is the largest coding unit (LCU). However, the coding and decoding in HEVC may also be performed for smaller coding units, for instance, for blocks of 4×4, 8×8, 16×16 etc.
Typically, the coding processing of a hybrid video coding includes a spatial and/or a temporal prediction. Accordingly, each block to be coded is predicted using either spatially neighboring blocks or temporally neighboring blocks (blocks included in previously coded video frames). A block of differences between the block to be coded and its prediction value, also called prediction residual block, is then calculated. Furthermore, a residual block is transformed from the spatial (pixel) domain into a frequency domain. The transformation aims at reducing the correlation between the samples of the input block. Next, quantization is applied to the coefficients resulting from the transform. This quantization processing is an irreversible transformation. Subsequently, the transform coefficients obtained from the quantization are further compacted (reversibly compressed) by means of an entropy coding. In addition, information necessary for decoding of the coded video signal is also coded and transmitted together with the coded video signal. This information is for example information about the spatial and/or temporal prediction, the quantization, etc.